package com.teacherprofile.common.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.teacherprofile.common.converters.DateConverter;
import com.teacherprofile.common.core.domain.BaseEntity;
import lombok.Data;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import org.springframework.ai.tool.annotation.Tool;

/**
 * 用户对象 tb_educational_background
 *
 * @author qvtu
 * @date 2025-05-17
 */
@Data
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
@ExcelIgnoreUnannotated
@ColumnWidth(22)
@HeadRowHeight(16)
@HeadFontStyle(fontHeightInPoints = 12)
@TableName("tb_educational_background")
public class EducationalBackground extends BaseEntity {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    /** 主键 */
    private Long id;

    /**
     * 教职工号
     */
    @ExcelProperty(value = "教职工号", index = 1)
    private String userName;


    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "创建时间", converter = DateConverter.class)
    private Date createTime;

    /**
     * 扫描件url
     */
    @ExcelProperty("扫描件url")
    private String scannedDocumentsUrl;

    /**
     * 入学时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "入学时间", converter = DateConverter.class)
    private Date enrollmentTime;

    /**
     * 毕业时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "毕业时间", converter = DateConverter.class)
    private Date graduationTime;

    /**
     * 学历
     */
    @ExcelProperty("学历")
    private String educationalQualifications;

    /**
     * 学校
     */
    @ExcelProperty("学校")
    private String school;

    /**
     * 专业
     */
    @ExcelProperty("专业")
    private String major;

    /**
     * 学历类别
     */
    @ExcelProperty("学历类别")
    private String educationalCategory;

    /**
     * 学习形式
     */
    @ExcelProperty("学习形式")
    private String learningForms;

    /**
     * 学历证书（图片url）
     */
    @ExcelProperty(value = "学历证书")
    private String degreeCertificate;

}
